import os

import gradio as gr
import tempfile
import shutil

def generate_file(file_obja,file_objb):
    # global tmpdir
    print('tempfile path:{}'.format('tmpdir'))
    FilePath=file_obja.name
    print('uploaded file path:{}'.format(file_obja.name)) # 输出上传后的文件在gradio中保存的绝对地址

    #获取到上传后的文件的绝对路径后，其余的操作就和平常一致了

    # 将文件复制到临时目录中
    shutil.copy(file_obja.name, 'tmpdir')

    # 获取上传Gradio的文件名称
    FileName=os.path.basename(file_obja.name)
    print(FilePath)
    # 获取拷贝在临时目录的新的文件地址

    # 打开复制到新路径后的文件
    with open(FilePath, 'rb') as file_obja:

        #在本地电脑打开一个新的文件，并且将上传文件内容写入到新文件
        outputPath=os.path.join('/Users/jiliu/Documents/gitee/dic-map/python/output',FileName)
        with open(outputPath,'wb') as w:
            w.write(file_obja.read())

    # 返回新文件的的地址（注意这里）
    return outputPath


inputsA = gr.components.File(label="upload fiile source")
inputsB = gr.components.File(label="upload file target")
outputs = gr.components.File(label="download file")

  # 创建 Gradio 应用程序g
app = gr.Interface(fn=generate_file, inputs=[inputsA,inputsB], outputs=outputs,   title="dic-map",
        description="upload csv files for matching"
)
app.launch(server_port=57860, share=True, inbrowser=True)

